export default class FileUtil {
    /**
     * 给文件切片
     * @param file 要切片的源文件
     * @param index 切片的顺序，从1开始
     * @param chunkSize 每个切片的大小
     */
    public static chunk(file: Blob, index: number, chunkSize: number): Blob {
        // 开始位置
        const start = (index - 1) * chunkSize;
        // 结束位置
        let end = start + chunkSize;
        if (end > file.size) {
            end = file.size;
        }
        return file.slice(start, end);
    }

    /**
     * 文件切片的数量
     * @param file 要切片的源文件
     * @param chunkSize 每个切片的大小
     */
    public static chunkNum(file: Blob, chunkSize: number): number {
        return Math.ceil(file.size / chunkSize);
    }
}
